分享好友 技术首页 技术分类 切换频道

ARM处理器实现优化的方式

2020-07-19 08:23110
(1) 数据类型设置:ARM处理器内部是32 bit寄存器,如果变量长度与ARM内部寄存器长度不一致,将会使得变量的存取都需要附加其他指令[3]。AES算法中密钥及数据都是以字节为单位运算,优化时调整为32 bit,仅在输入输出时进行位数变换,可以带来很大的速度改进。
  (2) 循环展开:ARM处理器中每一次循环zui少有4个周期的循环开销[3]。解密轮变换涉及4个子函数调用,循环执行Nr-1次。在等价解密算法融合了3个子函数形成T表查询,于是可以把轮变换展开,在不增加太多代码量的基础上,每一个数据分组解密减少4(Nr-1)个周期。当密钥位长、密文数据量大时节省的循环开销就比较可观。
  (3) 控制变量数:为了执行1个函数,应尽量限制函数内部循环所用局部变量的数目,zui多不超过12个,确保zui重要的和经常用到的变量都被分配在寄存器里[3]。
  (4) 宏定义函数实现:有些简单函数可以通过宏定义的方式实现,如域内乘法等。此种方式可以减少函数调用开销。

免责声明:矿库网文章内容来源于网络,为了传递信息,我们转载部分内容,尊重原作者的版权。所有转载文章仅用于学习和交流之目的,并非商业用途。如有侵权,请及时联系我们删除。感谢您的理解与支持。

点赞 0
举报
收藏 0
评论 0
分享 1
CAN函数库 Kvaser CANlib
CAN函数库 Kvaser CANliblib软件开发组合 - 给你一个接入KVASER硬件平台的透明界面。CANlib SDK (软件开发组合) 特点:支持下列编程软件:Microsoft Visual C++ (也支持C语言 )Borland C++ Builder (以及旧 Borland C++ compiler) -

0评论2020-07-20352

世纪星组态软件强大的数据库查询函数
  数据库,相信大家都不陌生,数据存储,查询,修改,维护,这些都是我们要经常对数据操作的,在组态软件中,我们同样可以实现对数据的存储,查询,修改,维护等操作,熟悉世纪星软件的大家应该对这个函数比较熟悉,zdbQueryData( “C

0评论2020-07-20719

!!&收购/回收HP33120A、HP33220A、HP33250A函数信号发生器

0评论2020-07-1913

线性自抗扰控制器由三部分组成,均采用非线性函数,而实际上如果对其进行线性简化同样可以得到性能优良的控制器,而且能减少参数,简单计算。简化的线性自抗扰控制器继承了ADRC的优点:不需要具体的数学模型;不

0评论2020-07-1911

基于VC++6.0的串口通信开发方法

0评论2020-07-1916

基于SEP4O2O的Linux frame buffer驱动设计

0评论2020-07-1915

Linux的TCP/IP协议栈阅读笔记

0评论2020-07-1823

如何编写Linux设备驱动程序

0评论2020-07-1812

WEINVIEW HMI在卷染机上的应用

0评论2020-07-1810